Skip to content

Conversation

@zyw-bot
Copy link
Collaborator

@zyw-bot zyw-bot commented Jul 4, 2025

Link: llvm/llvm-project#147059
Requested by: @dtcxzyw

@github-actions github-actions bot mentioned this pull request Jul 4, 2025
@zyw-bot
Copy link
Collaborator Author

zyw-bot commented Jul 4, 2025

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@45909ec
patch: llvm/llvm-project#147059
sha256: 6ec08339401475c9a55baf42baefc76b5f94b4e75313fb5300b3f1113f5038bf
commit: c64a71d

103 files changed, 106453 insertions(+), 106908 deletions(-)

Improvements:
  correlated-value-propagation.NumSelects 245885 -> 245917 +0.01%
  reassociate.NumChanged 5220676 -> 5220748 +0.00%
  scalar-evolution.NumExitCountsComputed 4283519 -> 4283563 +0.00%
  lcssa.NumLCSSA 16117810 -> 16117942 +0.00%
  gvn.NumGVNSimpl 4745378 -> 4745412 +0.00%
  capture-tracking.NumNotCapturedBefore 21397133 -> 21397233 +0.00%
  gvn.NumGVNEqProp 456552 -> 456554 +0.00%
  loop-vectorize.LoopsAnalyzed 2062991 -> 2062999 +0.00%
  memdep.NumUncacheNonLocalPtr 269977211 -> 269978228 +0.00%
  instcombine.NumOneIteration 65790413 -> 65790621 +0.00%
Regressions:
  deadargelim.NumArgumentsEliminated 20051 -> 20047 -0.02%
  last-run-tracking.NumSkippedPasses 51937788 -> 51937568 -0.00%
  sccp.NumInstRemoved 2109423 -> 2109419 -0.00%
  globalsmodref-aa.NumNonAddrTakenFunctions 2935508 -> 2935504 -0.00%
  abstract-call-sites.NumDirectAbstractCallSites 9869148 -> 9869140 -0.00%
  instcombine.NumDeadInst 44226760 -> 44226732 -0.00%
  instcombine.NumSunkInst 3564518 -> 3564516 -0.00%
  inline-cost.NumCallsAnalyzed 53868136 -> 53868108 -0.00%
  last-run-tracking.NumLRTQueries 117728201 -> 117728189 -0.00%

15 19 bench/actix-rs/optimized/4zcw438fefceam0r.ll
35 39 bench/coreutils-rs/optimized/2bkc75d8ztsl0xor.ll
58 62 bench/coreutils-rs/optimized/2cryhuu2jsk84p6r.ll
2 3 bench/coreutils-rs/optimized/wypxk671sbx8lpq.ll
39 40 bench/delta-rs/optimized/264wku5om6u5pdmz.ll
2 4 bench/egg-rs/optimized/3vlwzyp0day7srdg.ll
30 50 bench/image-rs/optimized/2ndzmzcdt55acj4k.ll
32 36 bench/meilisearch-rs/optimized/1wnbkg3u8l6dyln4.ll
52 56 bench/meilisearch-rs/optimized/4rynht2gwvphprvy.ll
1 2 bench/mini-lsm-rs/optimized/1zm93ee80v61t4c3.ll
20 21 bench/ockam-rs/optimized/2ugp26prskc4lvz4.ll
39 47 bench/ripgrep-rs/optimized/5dznq6hcdg5y97ft.ll
76 81 bench/rust-analyzer-rs/optimized/1bjrygtvfxna7kin.ll
16 22 bench/rust-analyzer-rs/optimized/3j0nbdwupb3iwt86.ll
15 20 bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll
11 15 bench/rust-analyzer-rs/optimized/h7mtydzcy9xo30w.ll
9 13 bench/rust-analyzer-rs/optimized/hknx1qr3lu9291s.ll
2 4 bench/rust-analyzer-rs/optimized/k5mtltw7nxmadpl.ll
13 18 bench/rust-analyzer-rs/optimized/mucn4qgqdg2891h.ll
102 126 bench/rustfmt-rs/optimized/x2cb3fifm47d4t5.ll
50 62 bench/stat-rs/optimized/3koi1gt1wwkf7v6z.ll
77 97 bench/stat-rs/optimized/n94tvlll45kxl7r.ll
45 57 bench/tokenizers-rs/optimized/1w676x6x6lprwvn5.ll
29 37 bench/tokenizers-rs/optimized/40hmx6rev8evi2bx.ll
45 53 bench/tokio-rs/optimized/2i86qkpybymk1snv.ll
19 23 bench/typst-rs/optimized/18cop7j4xops9f9h.ll
39 43 bench/typst-rs/optimized/18i60ist7isq7y2m.ll
31 32 bench/typst-rs/optimized/3kgmqnxcsl3z3n0n.ll
27 35 bench/typst-rs/optimized/49m3cs7hus53ztof.ll
44 56 bench/typst-rs/optimized/59tuvc5m3xlovl3o.ll
30 34 bench/typst-rs/optimized/5z4no3nnr5v1s13.ll
28 32 bench/typst-rs/optimized/m09o5qr68f5khss.ll
4 8 bench/uv-rs/optimized/2gh6pc2939hgeaau1xpxihusg.ll
1 2 bench/uv-rs/optimized/38wcatb6cjqnvy1t5flp4iuvb.ll
7 14 bench/uv-rs/optimized/4geuf6q2je9x06sx9nzr61rkq.ll
11 15 bench/uv-rs/optimized/53w83c036esehszikh9jad1ng.ll
55 59 bench/uv-rs/optimized/6lifoqdf32s4rqxd7yg6o6y9j.ll
58 62 bench/uv-rs/optimized/8ohzgjobg8wgndezm7j203lps.ll
14 18 bench/uv-rs/optimized/bi4c58bghet8qnxsc146d76yy.ll
12 16 bench/wasmtime-rs/optimized/3hy0ahodfyjxdbrv.ll
22 26 bench/wasmtime-rs/optimized/cxg2cx8gn6v5trt.ll
45 49 bench/zed-rs/optimized/1b5ll0cnnio0vvxmolgooij5i.ll
30 31 bench/zed-rs/optimized/3xn4w3qarvbzl2jkwavm0419t.ll
1 2 bench/zed-rs/optimized/aemqmt46uh053lsq1r4xaert7.ll
3 6 bench/zed-rs/optimized/d7h2r6mystjn2jzwcl5ofeoiz.ll
9 13 bench/zed-rs/optimized/dbwuhn7ob83o6nu68k5f1g4py.ll

@github-actions
Copy link
Contributor

github-actions bot commented Jul 4, 2025

Summary of Major Changes in the Patch

  1. Removal of Masked Index Computations
    Multiple instances of and i64 %x, <large_constant> were removed, especially where the large constant represented a bitmask to limit the index range (e.g., for array bounds). This suggests that certain safety or bounds-checking logic was optimized out, likely due to improved alias analysis or better knowledge of input ranges, allowing LLVM to eliminate unnecessary masking operations.

  2. Use of nuw (No Unsigned Wrap) in GEP and Arithmetic Instructions
    Several getelementptr (GEP) and add instructions now include the nuw attribute where previously only nsw was present. This indicates that unsigned arithmetic overflow is now assumed not to happen, enabling more aggressive optimizations and potentially improving code generation for loops and pointer arithmetic.

  3. Rewriting of Loop Structures Using .preheader Blocks
    In many places, loop structures have been rewritten to use .preheader blocks with incoming edges from multiple predecessors. This restructure helps improve loop induction variable recognition and simplifies PHI nodes in the loop header, which can lead to better vectorization and iteration analysis.

  4. Simplified PHI Nodes and Exit Conditions
    PHI nodes in exit blocks have been simplified by removing redundant entries and adjusting conditions based on updated control flow. Some branches to landing pads or cleanup blocks were merged or reordered, leading to cleaner unwind paths and reduced complexity in exception handling.

  5. Elimination of Redundant Load/Store Chains and Scope Declarations
    There are several cases where intermediate loads and stores were eliminated or reordered. Additionally, some llvm.experimental.noalias.scope.decl calls were moved or removed, indicating changes in how memory scopes and noalias metadata are handled, possibly due to dead code elimination or scope merging.


These changes primarily reflect internal restructuring of loop logic, removal of redundant bounds checks, and improvements in metadata handling—likely resulting in better optimization opportunities and smaller, faster code. No major semantic changes appear to be made; instead, this patch focuses on optimizing existing patterns and reducing unnecessary overhead.

model: qwen-plus-latest
CompletionUsage(completion_tokens=442, prompt_tokens=121735, total_tokens=122177, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw dtcxzyw closed this Jul 4, 2025
@dtcxzyw dtcxzyw deleted the test-run16076541787 branch July 10, 2025 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants